﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Negocio;
using DevExpress.Web.ASPxEditors;
using System.Configuration;
using Entidad;
using Negocio.BL;

namespace EvolSoftWeb
{
    public partial class wFrmOpcion : BaseForm
    {
        //SeguridadLogic logic = new SeguridadLogic();
        static List<listaGrupos> list;
            static List<listaGrupo2> list2;
        GrupoLogic negociogrupo = new GrupoLogic();
        OpcionLogic negocioOpcion = new OpcionLogic();
        List<T_S_OPCION> treeItems;
        List<T_S_OPCION> treeItemsChild;
        static List<Lista_nroOrden> listanro;
        string idSeguridad = "2";
        //List<T_SEG_OPCION> listaopciones = new List<T_SEG_OPCION>();
        int indNroOrdenModificar;

        public int CodigoOpcion
        {
            get
            {
                return (!string.IsNullOrEmpty(this.txtCodigo.Text)) ?
                    int.Parse(this.txtCodigo.Text) : 0;
            }
            set { this.txtCodigo.Text = value.ToString(); }
        }


        protected override void Inicializar()
        {
            if (!IsPostBack)
            {
            
                list = new List<listaGrupos>();
                list2 = new List<listaGrupo2>();
                this.ListarAccesosOpcion();
                listanro=new List<Lista_nroOrden>();
                Label1.Text = "";
            }
            //gvrOpcionGrupo.DataSource = list;
            //gvrOpcionGrupo.DataBind();
            this.CargarArbol();
            desactivarRegistro();
                
            this.ListaOpcionW();
            cboOpcionPadre.SelectedIndex = 0;
            this.lblMensaje.Text = "Para ver el detalle de una opción, haga click en el arbol. Para crear una nueva opción, Marque el nivel al cual se agregará y luego presionar 'Nuevo'. ";
            this.pnlMensaje.CssClass = EstilosPagina.CssMensajeMsg;


            grdPopGrupo.DataSource = list2;
            grdPopGrupo.DataBind();

        }

        void desactivarRegistro()
        {

            txtNombre.Enabled = false;
            txtObjetivo.Enabled = false;
            txtUrl.Enabled = false;
            ddlEstado.Enabled = false;
            spinNroOrden.Enabled = false;
            ddlTipo.Enabled = false;
            btnDescripcion.Enabled = false;
         

        }
        void activarRegistro()
        {

            txtNombre.Enabled = true;
            txtObjetivo.Enabled = true;
            txtUrl.Enabled = true;
            ddlEstado.Enabled = true;
            spinNroOrden.Enabled = true;
            ddlTipo.Enabled = true;
            btnDescripcion.Enabled = true;
         
        }

  


        void ListaOpcionW() {
            cboOpcionPadre.DataSource = negocioOpcion.listaOpcionesW();
            cboOpcionPadre.TextField = "DES_NOMBRE";
            cboOpcionPadre.ValueField = "ID_OPCION";
            cboOpcionPadre.DataBind();
        
        }

        protected void tvOpciones_SelectedNodeChanged(object sender, EventArgs e)
        {
            try
            {
                list.Clear();
                gvrOpcionGrupo.Selection.UnselectAll();
                if (this.tvOpciones.SelectedNode.Depth > 0)
                {
                    int idOpcion = int.Parse(this.tvOpciones.SelectedValue);
                    //var q = from c in negocioOpcion.ListarOpciones()
                    //        where c.ID_OPCION == idOpcion
                    //        select c;
                    //listaopciones = q.ToList();

                    this.CargarDatoOpcion(idOpcion);
                    this.lblmsj.Text = String.Empty;
                    activarRegistro();
                    ListaGrupoxOpcion();


                    //this.listarOpcionesporPadre(listaopciones[0].ID_PADRE);
                }
                else
                {
                    lblmsj.Text = String.Empty;
                    lblmsj.Text = "No se puede eliminar el nodo principal !";
                    string script = "ShowSeleccionarOpcion();";
                    ScriptManager.RegisterStartupScript(this, typeof(Page), "carga", script, true);
                
                }
            }
            catch
            {

            }

        }

       

        protected override void Grabar()
        {
          
            T_S_OPCION entity = new T_S_OPCION();
            try
            {
               
                

                if (txtCodigo.Text == String.Empty)
                {
                    
                        entity.ID_OPCION = negocioOpcion.ObtenerIdOpcion();
                        entity.ID_PADRE = int.Parse(this.hfIdPadre.Value);
                        entity.IND_ESTADO = this.ddlEstado.SelectedItem.Text.Substring(0, 1);
                        entity.IND_TIPO = this.ddlTipo.SelectedItem.Text.Substring(0, 1);
                        entity.DES_OBJETIVO = this.txtObjetivo.Text;
                        entity.DES_DESCRIPCION = this.hteDescripcion.Html;
                        entity.DES_NOMBRE = this.txtNombre.Text;
                        entity.DES_URL = "~" + this.txtUrl.Text;
                        entity.USR_CREACION = base.UserName;
                        entity.ID_TIPO_AREA = Convert.ToInt32(cboArea.SelectedItem.Value);
                        entity.NRO_ORDEN = int.Parse(this.spinNroOrden.Value.ToString());
                        int idOpcion = negocioOpcion.GrabarOpcion(entity);




                        for (int i = 0; i < gvrOpcionGrupo.VisibleRowCount; i++)
                        {


                            int id = Convert.ToInt32(gvrOpcionGrupo.GetRowValues(i, "id"));

                            negocioOpcion.PA_insertarOpcionGrupo(id, idOpcion);

                        }




                        this.CargarDatoOpcion(idOpcion);
                        this.CargarArbol();
                        string script = "ShowOK();";
                        ScriptManager.RegisterStartupScript(this, typeof(Page), "carga", script, true);
                   
                }
                else
                {
                   
                        entity.ID_OPCION = Convert.ToInt32(txtCodigo.Text);
                        entity.ID_PADRE = Convert.ToInt32(cboOpcionPadre.SelectedItem.Value);
                        entity.IND_ESTADO = Convert.ToString(this.ddlEstado.SelectedItem.Value);
                        entity.IND_TIPO = this.ddlTipo.SelectedItem.Text.Substring(0, 1);
                        entity.DES_OBJETIVO = this.txtObjetivo.Text;
                        entity.DES_DESCRIPCION = this.hteDescripcion.Html;
                        entity.DES_NOMBRE = this.txtNombre.Text;
                        entity.DES_URL = this.txtUrl.Text;
                        entity.USR_CREACION = base.UserName;
                        entity.ID_TIPO_AREA = cboArea.Text == string.Empty ? (int?)null : Convert.ToInt32(cboArea.SelectedItem.Value);
                        entity.NRO_ORDEN = Convert.ToInt32(this.spinNroOrden.Number);

                        negocioOpcion.Modificar(entity);


                        negocioOpcion.EliminarOpcionGrupo(Convert.ToInt32(txtCodigo.Text));

                        List<Object> selectItems = gvrOpcionGrupo.GetSelectedFieldValues("id");
                        foreach (listaGrupos item in list)
                        {
                            negocioOpcion.PA_insertarOpcionGrupo(item.id, Convert.ToInt32(txtCodigo.Text));

                        }


                        this.ListaGrupoxOpcion();

                        this.CargarArbol();
                        string script = "ShowModificar();";
                        ScriptManager.RegisterStartupScript(this, typeof(Page), "carga", script, true);
                   
                }
            }
            catch (Exception)
            {
                lblmsj.Text = String.Empty;
                lblmsj.Text = "Error al grabar la opción !";
                string script = "ShowSeleccionarOpcion()";
                ScriptManager.RegisterStartupScript(this, typeof(Page), "carga", script, true);
                //this.lblMensaje.Text = Tools.GetMessage(Mensajes.OpcionGrabarError);
                //this.pnlMensaje.CssClass = EstilosPagina.CssMensajeError;
            }

        }


        protected override void NuevoRegistro()
        {
            try
            {
                
                Label1.Text = "";
                gvrOpcionGrupo.Selection.UnselectAll();
                int contador = 0;
                int idPadre = 0;

                contador = Tools.ObtenerNodoRevursivo(this.tvOpciones, out idPadre);

                if (contador == 1)
                {
                    this.LimpiarCampos();
                    this.hfIdPadre.Value = idPadre.ToString();
                    this.CargarListaOrden(idPadre, false);
                    //this.listarOpcionesporPadre(idPadre);
                    btnAgregarGrupo.ClientEnabled = true;
                    btnEliminarRelacionOpcion.ClientEnabled = true;
                    this.lblMensaje.Text = Tools.GetMessage(Mensajes.OpcionMensajeDefecto);
                    this.pnlMensaje.CssClass = EstilosPagina.CssMensajeMsg;
                }
                else
                {
                    btnAgregarGrupo.ClientEnabled = false;
                    btnEliminarRelacionOpcion.ClientEnabled = false;
                    lblmsj.Text = String.Empty;
                    lblmsj.Text = "Seleccione un nodo, donde agregará la opción !";
                    string script = "ShowSeleccionarOpcion()";
                    ScriptManager.RegisterStartupScript(this, typeof(Page), "carga", script, true);
                }
            }
            catch
            {

            }

        }


        protected override void LimpiarCampos()
        {
            this.txtCodigo.Text = string.Empty;
            this.txtObjetivo.Text = string.Empty;
            this.txtNombre.Text = string.Empty;
            this.txtUrl.Text = string.Empty;            
            this.ddlTipo.SelectedIndex = -1;
            this.eDescripcion.Content = string.Empty;
            this.hfIdPadre.Value = string.Empty;
            this.btnDescripcion.Text = TextosPantalla.TxtAddDescripcion;
        }


        protected void CargarDatoOpcion(int idOpcion)
        {
           
            //T_SEG_OPCION entity = this.logic.ObtenerOpcion(idOpcion);
            try
            {
                //T_SEG_OPCION entity = this.logic.ObtenerOpcion(idOpcion);

                T_S_OPCION entity = negocioOpcion.ObtenerOpciones(idOpcion);
                if (negocioOpcion.ObtenerOpciones(idOpcion) != null)
                {
                    this.CodigoOpcion = idOpcion;
                    this.txtNombre.Text = entity.DES_NOMBRE;
                    this.txtObjetivo.Text = entity.DES_OBJETIVO;
                    this.eDescripcion.Content = entity.DES_DESCRIPCION;
                    this.txtUrl.Text = entity.DES_URL;
                    this.hfIdPadre.Value = entity.ID_PADRE.ToString();
                    this.cboArea.Value = entity.ID_TIPO_AREA.ToString();
                    this.cboOpcionPadre.Value = entity.ID_PADRE.ToString();
                    btnAgregarGrupo.ClientEnabled = true;
                    btnEliminarRelacionOpcion.ClientEnabled = true;
                    if (this.ddlEstado.Items.FindByValue(entity.IND_ESTADO) != null)
                        this.ddlEstado.Value = entity.IND_ESTADO;
                    if (this.ddlTipo.Items.FindByValue(entity.IND_TIPO) != null)
                        this.ddlTipo.Value = entity.IND_TIPO;
                    this.CargarListaOrden(entity.ID_PADRE, true);

                    if (entity.NRO_ORDEN > 0)
                    {
                        //ListItem liOrden = this.ddlOrden.Items.FindByValue(entity.NRO_ORDEN.ToString());
                        //if (liOrden != null)
                        //{
                        //   // this.ddlOrden.SelectedValue = entity.NRO_ORDEN.ToString();
                        //}
                        spinNroOrden.Number = Convert.ToInt32(entity.NRO_ORDEN);
                    }

                    this.btnDescripcion.Text = TextosPantalla.TxtVerDescripcion;
                }
                else
                {
                    string script = "ShowSeleccionarOpcion();";
                    ScriptManager.RegisterStartupScript(this, typeof(Page), "carga", script, true);
                }

            }
            catch (Exception)
            {


            }
       
        }


        protected override void Eliminar()
        {
            if (!string.IsNullOrEmpty(this.txtCodigo.Text))
            {
                try
                {
                    //T_SEG_OPCION opcion = this.logic.ObtenerOpcion(this.CodigoOpcion);
                    T_S_OPCION opcion = new T_S_OPCION();
                    //T_SEG_OPCION 
                    opcion = negocioOpcion.ObtenerOpciones(this.CodigoOpcion);

                    if (opcion.ID_PADRE != null)
                    {
                        bool flag = true;
                        //List<T_SEG_OPCION> list = this.logic.ListarOpciones();
                        List<T_S_OPCION> list = negocioOpcion.ListarOpciones();

                        foreach (T_S_OPCION item in list)
                        {
                            if (item.ID_PADRE == this.CodigoOpcion)
                            {
                                flag = false;
                            }
                        }

                        if (flag)
                        {
                            T_S_OPCION entity = new T_S_OPCION();
                            opcion.ID_OPCION = this.CodigoOpcion;
                            negocioOpcion.EliminarOpcionGrupo(this.CodigoOpcion);
                            if (negocioOpcion.Eliminar(opcion))
                            {
                                this.tvOpciones.Nodes.Clear();
                                this.CargarArbol();
                                this.LimpiarCampos();
                                string script = "ShowEliminar();";
                                ScriptManager.RegisterStartupScript(this, typeof(Page), "carga", script, true);
                            }
                            else
                            {
                                //negocioOpcion.EliminarOpcionGrupo(this.CodigoOpcion);
                                //negocioOpcion.Eliminar(opcion);
                                lblmsj.Text = String.Empty;
                                lblmsj.Text = "No se puede eliminar la opción tiene dependencias !";
                                string script = "ShowSeleccionarOpcion()";
                                ScriptManager.RegisterStartupScript(this, typeof(Page), "carga", script, true);
                            }

                        }
                        else
                        {
                            lblmsj.Text = String.Empty;
                            lblmsj.Text = "No se puede eliminar la opción ya que existen opciones hijas.";
                            string script = "ShowSeleccionarOpcion()";
                            ScriptManager.RegisterStartupScript(this, typeof(Page), "carga", script, true);
                        }
                    }
                    else
                    {
                        lblmsj.Text = String.Empty;
                        lblmsj.Text = "No se puede eliminar el nodo principal !";
                        string script = "ShowSeleccionarOpcion()";
                        ScriptManager.RegisterStartupScript(this, typeof(Page), "carga", script, true);
                    }
                }
                catch (Exception)
                {

                    lblmsj.Text = String.Empty;
                    lblmsj.Text = "Error al eliminar la opción !";
                    string script = "ShowSeleccionarOpcion()";
                    ScriptManager.RegisterStartupScript(this, typeof(Page), "carga", script, true);
                }
            }
            else
            {
                lblmsj.Text = String.Empty;
                lblmsj.Text = "Seleccione una opción para eliminar !";
                string script = "ShowSeleccionarOpcion()";
                ScriptManager.RegisterStartupScript(this, typeof(Page), "carga", script, true);
            }
        }


        protected void CargarArbol()
        {
            this.tvOpciones.Nodes.Clear();
            try
            {

                treeItems = negocioOpcion.ListarOpciones();
                if (treeItems.Count > 0)
                {
                    this.LlenarOpciones(null, null, this.tvOpciones);
                }

                this.tvOpciones.ExpandAll();
            }
            catch
            {

            }

        }


        public void LlenarOpciones(int? codigoPadre, TreeNode node, TreeView tree)
        {
            treeItemsChild = treeItems.FindAll(delegate(T_S_OPCION item) { return (item.ID_PADRE == codigoPadre); });
            //treeItemsChild.Sort(delegate(T_SEG_OPCION a, T_SEG_OPCION b) { return a.NRO_ORDEN.ToString().CompareTo(b.NRO_ORDEN.ToString()); });
            //treeItemsChild.Sort();
         

           
            foreach (T_S_OPCION hijos in treeItemsChild)
            {
                TreeNode newNode = new TreeNode(hijos.NRO_ORDEN + " " + hijos.DES_NOMBRE, hijos.ID_OPCION.ToString());
                if (codigoPadre == null) tree.Nodes.Add(newNode);
                else node.ChildNodes.Add(newNode);
                this.LlenarOpciones(hijos.ID_OPCION, newNode, null);

               
            }

        }

    //    void listarOpcionesporPadre(int? codigoPadre)
    //    {

    //        var q = from c in negocioOpcion.ListarOpciones()
    //                where c.ID_PADRE == codigoPadre
    //                select c;
    //        listaopciones = q.ToList();

          
    //        Lista_nroOrden li=new Lista_nroOrden();
    //             foreach (var y in q)
    //{
    //    li.nroOrden = (Int32)(y.NRO_ORDEN);

    //    listanro.Add(li);

    //}

    //    }

        public struct Lista_nroOrden { public int nroOrden { get; set; } };

        protected void CargarListaOrden(int? idPadre, bool flagEdicion)
        {
            //this.ddlOrden.Items.Clear();
            
            try
            {
                int ordenMax = negocioOpcion.ObtenerNroElementosPorNodo(idPadre);
                ordenMax = (!flagEdicion) ? ordenMax++ : ordenMax;

                for (int i = 1; i <= ordenMax; i++)
                {
                    //this.ddlOrden.Items.Add(new ListItem(i.ToString(), i.ToString()));
                  
                }

                if (!flagEdicion)
                {
                    //this.ddlOrden.Items.Add(new ListItem((ordenMax + 1).ToString(), (ordenMax + 1).ToString()));
                    //this.ddlOrden.SelectedValue = (ordenMax + 1).ToString();
                }
            }
            catch
            {


            }

        }

        protected void btnNuevoV2_Click(object sender, EventArgs e)
        {
            gvrOpcionGrupo.DataSource =string.Empty;
            gvrOpcionGrupo.DataBind();
            activarRegistro();
            this.NuevoRegistro();

        }

        protected void btnGrabarv2_Click(object sender, EventArgs e)
        {
            if (txtNombre.Text == String.Empty)
            {
                string script = "ShowVacios();";
                ScriptManager.RegisterStartupScript(this, typeof(Page), "carga", script, true);
            }
            else
            {

                this.Grabar();
            }

        }

        protected void btnEliminarv2_Click(object sender, EventArgs e)
        {
            if (txtCodigo.Text == String.Empty)
            {
                lblmsj.Text = String.Empty;
                lblmsj.Text = "Seleccione una opción del Arbol !";
                string script = "ShowSeleccionarOpcion();";
                ScriptManager.RegisterStartupScript(this, typeof(Page), "carga", script, true);
            }
            else
            {
                string script = "popupConfirmar.Show();";
                ScriptManager.RegisterStartupScript(this, typeof(Page), "carga", script, true);

            }

        }

        protected void btnSalirv2_Click(object sender, EventArgs e)
        {
            Response.Redirect("Default.aspx");
        }

        protected void btnEliminarOk_Click(object sender, EventArgs e)
        {
            this.Eliminar();
            gvrOpcionGrupo.DataSource = string.Empty;
            gvrOpcionGrupo.DataBind();
        }

        public struct listaGrupos
        {
            public int id { get; set; }
            public string nombre { get; set; }
            public string descripcion { get; set; }
            public bool marcar { get; set; }

        }



        void ListaGrupoxOpcion() {

            list.Clear();

            List<T_S_GRUPO> listar = negociogrupo.listarGrupoxOpcion(Convert.ToInt32(txtCodigo.Text));
         
            foreach (T_S_GRUPO item in listar)
            {
                listaGrupos obj = new listaGrupos();
                obj.nombre = item.DES_NOMBRE;
                obj.descripcion = item.DES_DESCRIPCION;
                obj.id = item.ID_GRUPO;
                list.Add(obj);
            }




            gvrOpcionGrupo.DataSource = list;
            gvrOpcionGrupo.DataBind();

        }




        void ListarAccesosOpcion()
        {
            try
            {
                list2.Clear();
                List<T_S_GRUPO> listar = negociogrupo.ListarAccesosUsuario();          
                foreach (T_S_GRUPO item in listar)
                {
                    listaGrupo2 obj = new listaGrupo2();
                    obj.nombre = item.DES_NOMBRE;
                    obj.descripcion = item.DES_DESCRIPCION;
                    obj.id = item.ID_GRUPO;
                    list2.Add(obj);
                }




                grdPopGrupo.DataSource = list2;
                grdPopGrupo.DataBind();
               
            }
            catch{}




        }

        public struct listaGrupo2 {

            public int id { get; set; }
            public string nombre { get; set; }
            public string descripcion { get; set; }
            public bool marcar { get; set; }
        }

        



        protected void gvrOpcionGrupo_AfterPerformCallback(object sender, DevExpress.Web.ASPxGridView.ASPxGridViewAfterPerformCallbackEventArgs e)
        {
         
        }

        protected void gvrOpcionGrupo_PageIndexChanged(object sender, EventArgs e)
        {
           
        }


        void actualizarOpcionGrupo()
        {

            try
            {
                //negocioUsuario.PA_deleteUsuGrupo(txtUsuario.Text);
                negocioOpcion.EliminarOpcionGrupo(Convert.ToInt32(txtCodigo.Text));
                List<Object> selectItems = gvrOpcionGrupo.GetSelectedFieldValues("id");

                foreach (object selectItemId in selectItems)
                {
                    negocioOpcion.PA_insertarOpcionGrupo((int)selectItemId,Convert.ToInt32(txtCodigo.Text));
                    //negocioUsuario.PA_insertarUsuGrupo(txtUsuario.Text, (int)selectItemId);
                }

            }
            catch
            {

            }


        }

        protected void grdPopGrupo_AfterPerformCallback(object sender, DevExpress.Web.ASPxGridView.ASPxGridViewAfterPerformCallbackEventArgs e)
        {
            grdPopGrupo.DataSource = list2;
            grdPopGrupo.DataBind();
        }







        bool comaparar()
        {

            List<Object> selectItems = grdPopGrupo.GetSelectedFieldValues("id");
            foreach (object row in selectItems)
            {

                for (int i = 0; i < gvrOpcionGrupo.VisibleRowCount; i++)
                {
                    int idg= Convert.ToInt32(gvrOpcionGrupo.GetRowValues(i, "id"));

                if ((int)(row) ==idg)
                {
                    return true;
                }

                }
            }

            return false;


        }


        protected void btnPopAgregar_Click(object sender, EventArgs e)
        {
            


            if (comaparar())
            {
                lblmsj.Text = String.Empty;
                lblmsj.Text = "Ya está agregado el grupo seleccione otro por favor ";
                string script = "ShowSeleccionarOpcion();";
                ScriptManager.RegisterStartupScript(this, typeof(Page), "carga", script, true);

            }
            else {
                this.AgregarOpcioGrupo();
            
            }
            


           
         

        }

        void AgregarOpcioGrupo() {


            try
            {
                List<Object> selectItems = grdPopGrupo.GetSelectedFieldValues(new string[] { "id", "nombre", "descripcion" });

                foreach (object[] item in selectItems)
                {

                    listaGrupos obj = new listaGrupos();
                    obj.id = Convert.ToInt32(item[0].ToString());
                    obj.nombre = item[1].ToString();
                    obj.descripcion = item[2].ToString();
                    list.Add(obj);


                }

                gvrOpcionGrupo.DataSource = list;
                gvrOpcionGrupo.DataBind();

            }
            catch {}

        }




        void ListaUsuarioxGrupo() {
            //int id_grupo = Convert.ToInt32(gvrOpcionGrupo.GetRowValues(gvrOpcionGrupo.FocusedRowIndex, "id"));
            //grdUsuarioAsociados.DataSource = negociogrupo.listaUsuarioxGrupo(id_grupo);
            //grdUsuarioAsociados.DataBind();
        
        
        }

        protected void gvrOpcionGrupo_FocusedRowChanged(object sender, EventArgs e)
        {
            this.ListaUsuarioxGrupo();
        }

        protected void btnEliminarRelacionOpcion_Click(object sender, EventArgs e)
        {


            if (txtCodigo.Text.Trim() == string.Empty || gvrOpcionGrupo.Selection.Count == 0)
            {

                lblmsj.Text = String.Empty;
                lblmsj.Text = "Marque y/o seleccione una opción del árbol ";
                string script = "ShowSeleccionarOpcion();";
                ScriptManager.RegisterStartupScript(this, typeof(Page), "carga", script, true);
              

            }
            else {

                PopupEliminarGrupoOpcion.ShowOnPageLoad = true;
            }

          
        }

        void EliminarGrupoOpcion() {

          
            try
            {

                for (int i = 0; i < gvrOpcionGrupo.VisibleRowCount; i++)
                {

                    if (gvrOpcionGrupo.Selection.IsRowSelected(i))
                    {
                        int idOpcion= Convert.ToInt32(gvrOpcionGrupo.GetRowValues(i, "id"));

                        list.Remove(list.Where(x => x.id == idOpcion).ToList()[0]);
                         
                    }



                }

                gvrOpcionGrupo.DataSource = list;
                gvrOpcionGrupo.DataBind();
              
                


             
              lblmsj.Text = String.Empty;
              lblmsj.Text = "Se eliminó correctamente";
                string script = "ShowSeleccionarOpcion();";
                ScriptManager.RegisterStartupScript(this, typeof(Page), "carga", script, true);
                
              

            }
            catch {
            
            
            
            }

          
        
        }

        protected void btnEliminaOpcionGrupo_Click(object sender, EventArgs e)
        {
            this.EliminarGrupoOpcion();
            //this.ListaGrupoxOpcion();
        }

          bool validarNroOrden()
        {

            foreach (var item in listanro)
            {
                if (item.nroOrden == spinNroOrden.Number)
                {
                  return true;
                }
               
            }
           return false;
         
        }

    
     
       
    }
}